iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
自我挑戰組

網路通訊隨意聊系列 第 9

NAT(三),對稱、錐形、為何有奇形怪狀的 NAT?

  • 分享至 

  • xImage
  •  

前面提到 NAT 解決了 IP 位置枯竭的問題,也提到了藏在 NAT 後的設備沒有這麼容易被找到的某種情境,這次來聊聊更多更複雜的情況。

為何會有不同種類的 NAT?

常見的 NAT 大致可分為對稱(Symmetric)和錐形(Cone)兩種,而錐形又可以細分成限制等級不同的錐形,聽起來很相當繞口對吧!

由於路由器的廠商有非常多間,有的注重家庭用戶,也有的致力服務企業等級的用戶,所實作出來的 NAT 行為就會不太一樣,但主要會評估的因素是以下兩點:

  1. 安全性:企業用戶通常比較在意資安,像是對稱 NAT 就相較錐形 NAT 來的安全

  2. 服務相容性:家庭用戶通常更在意方便性,因此一些服務如 P2P 在錐形 NAT 的路由器就比較不會出問題,相容性較對稱型則高

雖說我們都想要更安全,但是達成更安全造成的後果如果是犧牲服務相容性的話,對於家庭用戶來講就可能就沒那麼方便。

所以在不同的路由器中,實作哪一種類型的 NAT 就是各廠商們對於其目標客群的需求找到平衡後所挑選的。

NAT 種類的形狀命名怎麼來的?

那麼,這些形狀命名從何而來?我們先從服務相容性高、安全性較低的錐形開始聊起。

各種錐形 NAT 示意圖
*各種錐形 NAT 示意圖

會取名為錐形,其實是由於 IP 位置及 Port 的映射形式而來的。在錐形 NAT 中,在 Client 發起請求時會有一組來源 IP Address + Port 用來接收回覆訊息,而 Server 則可以發送訊息回來源位置。

但不只是請求的目標 Server 可以送回訊息給這組來源位置,在彈性最大的完全錐形 NAT 中,其他 Server 也能送訊息給 Client,由於這種 Client 到多個 Server 一對多的位置映射看起來像是個錐形,這種類型的 NAT 便被命名成錐形 NAT。

完全錐形 NAT

我們接著來看看彈性最大的完全錐形(Full Cone)NAT。之所以是彈性最大,是因為一旦一組來源 IP Address + Port 被 Router 記錄下來之後,任何人都可以透過這組位置來傳送訊息給 Client。

完全錐形 NAT
*完全錐形 NAT

例如 Client 端送了一個請求給 Server 5.6.7.8,不但這個 Server 能回傳訊息回 Client,只要其他 Server 如 8.7.6.5 也知道了 Client 的這組位置 1.2.3.4:9200,就能夠將訊息也傳到 Client 的同一個服務。

這種類型的 NAT 就很適合 P2P 服務的使用,因為當兩個 Client 從某 Server 拿到對方的 IP 位置後,路由器中的映射表也就產生出來,任何人都能夠連線,如此一來雙方便可以互相傳遞資訊。

然而,這也產生了安全性的問題,由於 Client 的這個服務所開啟的 Port 可以被任何人取用,也當然就能攻擊。

於是乎,就會有安全了點,但限制較多 NAT 類型出現,我們下一講繼續聊。

參考資料

  1. Wiki - NAT

  2. Wiki - NAT 穿越


上一篇
NAT(二),穿越 NAT 的牆,淺談 ngrok 及 Port Forwarding
下一篇
NAT(四),受限錐形、對稱 NAT
系列文
網路通訊隨意聊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言